<html><head>    <title>Grammar of Taste</title></head><body><h2>EBNF Grammar of Taste</h2><pre>Taste    =   "program" ident "{" {VarDecl} {ProcDecl} "}".VarDecl  =   Type ident {"," ident} ";".ProcDecl =   "void" ident "(" ")" "{" {VarDecl | Stat} "}".Type     =   "int" | "bool".Stat     =   ident ("=" Expr ";" | "(" ")" ";")           | "if" "(" Expr ")" Stat ["else" Stat]           | "while "(" Expr ")" Stat           | "read" ident ";"           | "write" Expr ";"           | "{" {Stat | VarDecl} "}".Expr     =   SimExpr [RelOp SimExpr].SimExpr  =   Term {AddOp Term}.Term     =   Factor {MulOp Factor}.Factor   =   (ident | "true" | "false" | number | "-" Factor).AddOp    =   "+" | "-".MulOp    =   "*" | "/".RelOp    =   "==" | "<" | ">".</pre></body></html>